1. Field of the Invention
The invention relates generally to management of power consumption by devices and more specifically relates to management of power consumption by a plurality of devices coupled to a common power supply and a controller.
2. Discussion of Related Art
In a variety of electronic systems, a shared power source is used to power a number of devices of the system under control of a common control unit. For example, in storage systems a storage controller may controllably coordinate the application power from a power supply to each of a plurality of storage devices. In particular, each of the storage devices may be, for example, a rotating disk drive. Such devices may utilize minimal power when initially applied but may then consume substantially more power as the disk drive's motor starts to spin the rotating storage media within the disk drive. Though the disk drive consume less power once the motor has reached the desired rotational speed (i.e., in steady state operation), for a burst of time the disk drive may require substantially more power to commence and complete its initialization.
In many present-day storage systems including, for example, a SCSI architecture (including Serial Attached SCSI-SAS) system, a controlling device coupled with the storage devices may utilize command structures and/or protocol primitives/sequences to control and sequence the “spin-up” of each storage device under its control. Such controlling devices may include, for example, a storage controller (e.g., SCSI, SAS, or SATA controller), a SAS expander, a SATA port multiplier, etc. The controlling device may, for example, limit the number of SCSI disk drives enabled to spin-up at any given point in time until eventually all disk drives are started and spinning. Thus a SCSI/SAS storage controller may limit the spin-up power requirements for the plurality of disk drives under its control. However, the storage controller has no knowledge of how long the SCSI disk drive may require the added power to complete initialization. Thus, present SCSI/SAS storage controllers presume a worst case scenario allowing a maximum possible time duration for the initialization of each SCSI disk drive coupled thereto. This solution may cause a significant, unnecessary delay in the initialization of the storage system and hence delays in access to the storage system by attached host systems.
In some storage system environments, the storage devices may be coupled to multiple controlling devices or may autonomously change their power consumptions status. Further, the controlling device may not even be coupled in the same power domain to allow it to have knowledge of the available power status of the storage devices. In such cases, a simple command structure may not suffice to allow the controlling device to coordinate and sequence the power consumption of the storage devices. These problems are further exacerbated in the context of Serial Advanced Technology Attachment (SATA) disk drives. Though SCSI/SAS and SATA standards provide a command structure to allow controlled startup of disk drives coupled to a compliant controlling device, SATA protocols provide no non-command oriented techniques to allow a controlling device to coordinate power consumption of the devices. Thus SATA controllers and port multipliers as controlling devices may lack the ability to effectively coordinate the application of power to SATA storage devices coupled thereto. Present storage systems utilizing SATA disk drives therefore typically provide a significantly oversized (excess capacity) power supply to allow for worst case power consumption if all SATA. Such an oversized power supply adds cost/complexity to the storage system.
Thus it is an ongoing challenge to manage power distribution in a system comprising a plurality of devices requiring bursts of power during initialization.